package com.example._2025_03_29;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

//@RestController

/*
    @RestController = @Controller + @ResponseBody
    @Controller 的作用是让 spring 负责扫描
    @ResponseBody 的作用是返回数据      既是类注解，也是方法注解
 */
@Controller
@RequestMapping("/response")
public class ResponseController {
    /*
        返回视图
     */
    @RequestMapping("/index")
    public String index() {
        return "/index.html";
    }

    /*
        返回数据
     */
    @ResponseBody
    @RequestMapping("/index2")
    public String index2() {
        return "/index.html";
    }

    /*
        返回的不是一个页面，应该返回的是数据
     */
    @ResponseBody
    @RequestMapping("/index3")
    public String index3() {
        return "<h1>我是一个HTML标签</h1>";
    }

    /*
        当返回一个对象的时候，spring 会自动把对象转化为 Json
        application/json
     */
    @ResponseBody
    @RequestMapping("/Json")
    public UserInfo Json() {
        UserInfo userInfo = new UserInfo("雷军", 22, "123");
        return userInfo;
    }

    /*
        设置状态码
     */
    @ResponseBody
    @RequestMapping("/setStatus")
    public String  setStatus(HttpServletResponse response) {
        response.setStatus(401);
        return "设置状态码成功";
    }

    @RequestMapping("/login")
    public String login(String username, String password) {
//        if (username.equals("admin") && password.equals("123")) {
//            return "登录成功";
//        }
//        return "登录失败";
        return "/login.html";
    }

    @RequestMapping("/login2")
    public String login2(String username, String password) {
//        if (username.equals("admin") && password.equals("123")) {
//            return "登录成功";
//        }
//        return "登录失败";
        return "/login2.html";
    }
}
